home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / x11 / strategy / xpuzzles.3 / xpuzzles / xpuzzles-5.3.1 / xmlink / README < prev    next >
Text File  |  1996-04-08  |  7KB  |  171 lines

  1.     X-BASED MISSING LINK(tm)
  2.     ====================    Missing Link X widget, V5.3
  3.  
  4.  
  5.     It has been tested on the following platforms:
  6.  
  7.     Sun4, SPARC        SunOS 4.1.3    X11R4
  8.     Sun4, SPARC        SunOS 5.4    X11R5
  9.     PC, 486            Linux 1.0.9    X11R5
  10.     PC, 486            Linux 1.2.8    X11R6(*)
  11.  
  12.     *    Keypad may not work, since various keycodes may not be defined
  13.     by default.  Check that "KP_1 - KP_9, Home, Up, Prior, Left,
  14.     Begin, Right, End, Down, Next" are defined towards the end of
  15.     /usr/lib/X11/etc/xmodmap.std .  If not defined
  16.     cp /usr/lib/X11/etc/xmodmap.std /usr/lib/X11/xinit/.Xmodmap
  17.     and then motify this or create your own at ${HOME}/.Xmodmap .
  18.     You should just have to uncomment them (get rid of some '!').
  19.     This should be done before X is started.
  20.  
  21.     If yours is not in this list, please let me know -- thanks. The
  22.     most updated source could be found on ftp.x.org under
  23.     /contrib/games/puzzles.
  24.  
  25. HOW TO BUILD?
  26.  
  27.     Do you have Motif?  If so, uncomment line 28 of Imakefile.
  28.  
  29.     It should be easy. Edit the Imakefile (or Makefile.std, see below)
  30.     for appropriate settings of variable SCOREFILE, then do:
  31.     xmkmf
  32.     make
  33.     xmlink  [motif version will be xmmlink]
  34.  
  35.     Note: if you don't have 'xmkmf' or the "Makefile" it generates
  36.     doesn't work well, edit Makefile.std for appropriate settings for
  37.     XINCLUDEPATH and XLIBPATH, then try:
  38.     make -f Makefile.std
  39.     xmlink
  40.  
  41.     or if you have Motif, uncomment appropriate sections, then try:
  42.         make -f Makefile.std all.xm
  43.     xmmlink
  44.  
  45.     You should have Mlink.ad copied to $(HOME)/Mlink or 
  46.     /usr/lib/X11/app-defaults/Mlink to run, especially if the background
  47.     is similar to one of the faces. Edit this file for your preferences.
  48.     You might want to move xmlink into /usr/bin/X11 (or wherever your
  49.     X binaries are).
  50.     You might also want to move xmlink.man to /usr/man/man6/xmlink.6
  51.  
  52.     I also did not confirm that all the puzzles can be solved when
  53.     randomized.  It does appear to be the case though.  The last few
  54.     tiles are a trick to place.
  55.  
  56.     Monochrome users may have to run it with -tile Black or -tile White.
  57.     or with -fg White or -fg Black.  Whatever works for you.
  58.  
  59. ANYTHING SPECIAL IN USING?
  60.  
  61.     Click on the left mouse button to move tile.  If you click and
  62.       release on the same row with a blank all the tiles from there will
  63.       move towards the space.  If you click and then release on a
  64.       different row, then the tiles will "rotate" up or down depending
  65.       where the click is released.
  66.     Click on the right mouse button if you want to randomize the puzzle.
  67.       Also 'R' or 'r' does the same thing.  One must double click on
  68.       the right mouse button if the puzzle is being worked on.
  69.     'O' or 'o' to toggle orient mode. (I prefer the orient mode since
  70.       it is slightly more challenging) (Default is off).
  71.     'M' or 'm' to toggle middle mode. All the middle tiles rotate
  72.       together.  This is considerably more challenging (Default is on).
  73.     'S' or 's' to auto-solve.  Unfortunately, its unimplemented.
  74.     'U' or 'u' to undo last move.
  75.     'G' or 'g' to get a saved puzzle.
  76.     'W' or 'w' to write or save a puzzle.
  77.     'Q', 'q', or Control-C to kill program.
  78.  
  79.     Key pad is defined for Mlink as:
  80.         8 
  81.         ^
  82.     4 <   > 6
  83.         v
  84.         2
  85.  
  86.     Tiles can also be moved by the keypad,
  87.                KP_8=>Top
  88.     KP=>Left                 KP_6=>Right
  89.                KP_2=>Bottom
  90.  
  91.     Notice one can move more than one tile at a time by clicking on the
  92.     tile farthest from the space but in a row with the space.
  93.  
  94.     The shift key along with the up and down arrows or mouse allow one to
  95.     rotate the whole puzzle.
  96.  
  97.     The control key allows you to change the complexity of xlink.  Hold
  98.     down control key and use the keypad.
  99.  
  100.     The title is in the following format (non-motif version):
  101.     xmlink: <int>x<int> {norm | ind} @ (<Number of moves>/\
  102.         {<Record number of moves>|NEVER}) - <Comment>
  103.     <int>x<int>: row by column.
  104.     {norm | ind}: middle tiles rotate together or independent.
  105.     {<Record...}: if there is no record of the current puzzle, it
  106.        displays "NEVER".
  107.  
  108.     I chose to display the puzzle horizontally because if I ever decide
  109.     to implement the auto-solver, it will be easier because the IDEAL
  110.     solution book shows it that way.
  111.  
  112.     Keep in mind that Mlink is a widget that can be simply stuck in
  113.     other X programs. (If you find a use for this, let me know).
  114.  
  115.     Refer to the man page for detailed command line options.
  116.  
  117.     If you want further information on puzzles, I'll be glad :-) to send
  118.     it to you.
  119.  
  120. SAVE FORMAT
  121.  
  122.     The format is not standard.  The reason is that this is simple to
  123.     produce and I do not know what the standard is.  The format will
  124.     probably change to become more readable.
  125.  
  126.     tiles: number of tiles in a row
  127.     faces: number of tiles in a column
  128.     middle: 0 false, 1 true  middle moves as one unit
  129.     orient: 0 false, 1 true  chain linked in order
  130.     moves: 0-MAXINT
  131.  
  132.     startingPosition: array where 0 is the empty space
  133.  
  134.     This is then followed by the moves
  135.     move #: direction tile shift
  136.     Direction is represented as 0 up, 1 right, 2 down, and 3 left.
  137.     Tile is the column of tile.
  138.     Shift is represented as 0 or 1, 1 if the whole puzzle is moved at
  139.       once (here Tile does not matter), 0 if not.  The xmlink record keeper
  140.       does not count a control move as a move, but here we do.
  141.  
  142.     Caution: the program may crash on corrupted input.
  143.  
  144. FOUND A BUG?
  145.  
  146.     Send bugs reports and fixes to the author. For bugs, please include
  147.     as much information as to their location as possible, since I may not
  148.     have the resources to duplicate the them.
  149.  
  150.     David Albert Bagley,    bagleyd@hertz.njit.edu
  151.  
  152. HISTORY
  153.  
  154.   [Apr 08, 96]    V5.3: Minor changes.  Links are drawn now with the same
  155.         orientation as the original.
  156.   [Jan 31, 96]  V5.2: Now uses an intuitive drag and drop approach for
  157.         rotating tiles.  Tiles will invert, when selected.
  158.         Now using dynamic allocation, so there is no maximum size.
  159.   [Dec 15, 95]    V5.1: Minor updates, RNG for 32/64 bit.  Better sector
  160.         drawing algorithm.  Border color to make faces look more
  161.         realistic.
  162.   [Oct 01, 95]    V5.0: Xt/Motif, your choice.
  163.   [May 16, 95] V4.10: Warnings removed from Sun's cc and lint and now
  164.         include a random number generator.  Bug fixed where
  165.         xmlink moved correctly but was hard to turn.
  166.   [Mar 13, 95]    V1.4: Removed lint warnings and added a VMS make.com .
  167.   [Nov 11, 94]    V1.3: Conservative guess for random number generator.
  168.   [Nov 07, 94]    V1.2: Now allows undos, saves, and recalls.
  169.   [Sep 19, 94]    V1.1: Initialize bug removed.
  170.   [Aug 30, 94]    V1.0: Xt version.
  171.